package com.sparrows.pirates.model.abilites;

import com.sparrows.pirates.model.CrewMember;

/**
 * Has to be implemented by all abilities.
 * @author krummer
 *
 */
public abstract class Ability {
	private String name; //the displayed name. may differ from class name.
	private String description; //explain the ability.
	private CrewMember owner;
	
	public Ability(CrewMember owner) {
		this.owner = owner;
	}

	/**
	 * ability effect. Has to be targeted.
	 * If you want to target more than on person, simply call the
	 * function for each target once.
	 */
	public abstract void execute(CrewMember target);

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}
